It is difficult to directly apply a technology of sampling an analog voice signal and converting the sampled analog voice signal into a digital signal to the application with a limited bandwidth due to a relatively high bit rate. For example, a speech signal that is sampled at 8 KHz and quantized to 16 bits per sample, will result in a bit rate of 128,000 bits per second (bps). In order to effectively transmit a speech signal at a low bit rate in most communication networks, a codec apparatus for compressing and decompressing the speech signal is used.
Examples of a method of compressing and decompressing a speech signal include pulse coded modulation (PCM) and code-excited linear prediction (CELP). PCM is a method of compressing a respective voice sample to a predetermined number of bits, whereas CELP is a method of framing a speech signal into blocks and compressing the speech signal on the basis of a speech production model. Various codecs have been developed and standardized in a wide range of fields. One of the most widely used codecs is a log PCM codec that is adopted on a public switched telephone network (PSTN), internet telephony, and so on. The log PCM codec varies a quantization step depending on the magnitude of an input signal. That is, the log PCM codec uses a small quantization step when the level of an input signal is low, and uses a large quantization step when the level of an input signal is high. The log PCM codec can compress a digital sample with 16 bits per sample to a codeword with 8 bits per sample. Accordingly, if a signal is sampled at 8 KHz, a bit rate of 64,000 bps is obtained using the log PCM codec. There are two main coding laws, which are A-law and μ-law. The respective laws are expressed as
                                                        C              μ                        ⁡                          (                                              x                                            )                                =                                                    log                10                            ⁡                              (                                  1                  +                                      μ                    ⁢                                                                x                                                                                            )                                                                    log                10                            ⁡                              (                                  1                  +                  μ                                )                                                    ⁢                                  ⁢                                            C              A                        ⁡                          (                                              x                                            )                                =                      {                                                                                                      1                      +                                                                        log                          10                                                ⁡                                                  (                                                      A                            ⁢                                                                                        x                                                                                                              )                                                                                                            1                      +                                                                        log                          10                                                ⁡                                                  (                          A                          )                                                                                                                                                                                for                      ⁢                                                                                          ⁢                                                                      x                                                                                      >                                          1                      A                                                                                                                                                              A                      ⁢                                                                      x                                                                                                            1                      +                                                                        log                          10                                                ⁡                                                  (                          A                          )                                                                                                                                                                                for                      ⁢                                                                                          ⁢                                                                      x                                                                                      ≤                                          1                      A                                                                                                                              (        1        )            where x is an input sample, The μand A are constants for the respective coding laws, C( ) is a sample value compressed by each coding law, and ∥ is an absolute value operation.
The A-law and u-law have been standardized as ITU-T (International Telecommunication Union-Telecommunication Sector) Recommendation G.711 since 1972. The values of μand A in the G.711 are 255 (μ) and 87.56 (A), respectively. The G.711 codec actually uses a floating point quantization method, rather than directly calculates Equation 1. Among available bits per sample (e.g., 8 bits for the G.711), some bits are used to determine a quantization step and the remaining bits are used to express a position in the quantization step. The former bits are exponent bits and the latter bits are mantissa bits. In the A-law of the G.711, 3 bits are used for the exponent, 4 bits are used for the mantissa, and the remaining 1 bit is used to express a sign of a sample.
The G.711 provides a high quality of about 4 MOS (Mean Opinion Score) for narrowband speech, with less computational complexity and memory requirements. However, there is still quality degradation caused by quantization error, compared with an original speech signal.